home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
tex
/
macros
/
source
/
contrib
/
supported
/
xypic
/
src
/
xyps-r.doc
< prev
next >
Wrap
Text File
|
1995-03-15
|
5KB
|
154 lines
%% $Id: xyps-r.doc,v 2.9 1994/06/09 14:38:56 ross Exp $
%%
%% XY-pic ``PostScript Rotations and Scaling''.
%% Copyright (c) 1993-1994 Ross Moore <ross@mpce.mq.edu.au>
%%
%% This file is part of the XY-pic package for graphs and diagrams in TeX.
%% See the companion README and INSTALL files for further information.
%% Copyright (c) 1991-1994 Kristoffer H. Rose <kris@diku.dk>
%%
%% The XY-pic package is free software; you can redistribute it and/or modify
%% it under the terms of the GNU General Public License as published by the
%% Free Software Foundation; either version 2 of the License, or (at your
%% option) any later version.
%%
%% The XY-pic package is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
%% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
%% for more details.
%%
%% You should have received a copy of the GNU General Public License along
%% with this package; if not, write to the Free Software Foundation, Inc.,
%% 675 Mass Ave, Cambridge, MA 02139, USA.
%%
\ifx\xypsrloaded\relax \message{not reloaded}\endinput \fi
\let\xypsrloaded=\relax \xycatcodes
\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This included file (version \stripRCS$Revision: 2.9 $) provides \XY-ps
support for the effects defined in the |rotate| extension.
\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DOCHEADER
\DOCMODE(
\xyrequire{rotate}
\xyrequire{ps}
\xycatcodes
\DOCMODE)
All effects defined in the |rotate| extension can
be implemented using the \PS\ back-end, loaded as |xyps|. However not
all the effects are correctly handled by all the different \PS\
drivers. This file provides `generic \PS\ code which is known to work
correctly with most drivers. No attempt is made to provide special
code for particular drivers; for driver-specific variations, consult
the appropriate |xyps-|<driver> file.
\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph*{Transform lists}
\DOCMODE(
\xydef@\xyPSpretransform@{\xyPSrawA@{\preXYtransform@@}}
\xydef@\xyPSposttransform@{\xyPSrawZ@{\postXYtransform@@}}
\xyPSalternative@{\preXYtransform@}{pretransform}
\xyPSalternative@{\postXYtransform@}{posttransform}
\DOCMODE)
\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph*{Rescaling}
\DOCMODE(
\xydef@\xyPSscale@#1#2{%\bgroup
% \def\preXYtransform@@{\xyPSpre@}\def\postXYtransform@@{\xyPSpost@}%
% \let\modPSboxz@=\modXYtransform@
\xyPSsplitPS@{\xyscale@start(#1,#2)}{\xyscale@end}\xyPSpsxy@
% \egroup
% \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
% \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\the\toks@
% \xyPSpsxy@
}
\xydef@\xyscale@start(#1,#2){xyXpos xyYpos 2 copy translate
#1\space#2\space scale neg exch neg exch translate }
\xydef@\xyscale@end{}
\DOCMODE)
\DOCMODE(
\xyPSalternative@{\xyscale@@}{scale}
\DOCMODE)
\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph*{Rotations}
\DOCMODE(
\xydef@\xyrot@start(#1){ xyXpos xyYpos 2 copy translate
#1\space neg rotate neg exch neg exch translate }
\xydef@\xyrot@end{}
\xydef@\xyPSrotate@#1{%\bgroup
% \def\preShape@@{\xyPSpre@}\def\postShape@@{\xyPSpost@}%
% \let\modPSboxz@=\modXYtransform@
\xyPSsplitPS@{\xyrot@start(#1 setupDirection XYdirection 2 mul)}{}%
\xyPSpsxy@
% \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
% \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\showthe\toks@
% \the\toks@\xyPSpsxy@
}
\xydef@\xyPSspecialRotate@#1{%\bgroup
% \def\preShape@@{\xyPSpre@}\def\postShape@@{\xyPSpost@}%
% \let\modPSboxz@=\modXYtransform@
\xyPSsplitPS@{\xyrot@start(#1)}{}\xyPSpsxy@
% \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
% \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\the\toks@
% \xyPSpsxy@
}
\xyPSalternative@{\xyRotate@@}{rotate}
\xyPSalternative@{\xySpecialRotate@@}{specialRotate}
\DOCMODE)
\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph*{Shearing}
This feature is not implemented yet.
\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph*{The end \& Log}\leavevmode
\DOCMODE(
\xyendinput
% $Log: xyps-r.doc,v $
% Revision 2.9 1994/06/09 14:38:56 ross
% Release 3beta.
% Includes support for special effects: Rotations, Scaling, Line-width, Colour.
% Back-ends are separated into separate files.
% More back-ends are supported, experimentally --- needs testing.
%
% Revision 2.9 1994/06/09 14:38:56 ross
% Release 3beta.
% Includes support for special effects: Rotations, Scaling, Line-width, Colour.
% Back-ends are separated into separate files.
% More back-ends are supported, experimentally --- needs testing.
%
% NEW for version 2.9 by by Ross Moore.
\DOCMODE)
\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Tell Emacs that this is a LaTeX document and how it is formatted:
% Local Variables:
% mode:latex
% fill-column:77
% fill-prefix:""
% End: